
const E = window.wangEditor;
const editor = new E('#content');
// 或者 const editor = new E( document.getElementById('div1') )
const editUrl = '/upload';//服务器访问地址
editor.customConfig.menus = [
    'head',  // 标题
    'bold',  // 粗体
    'fontSize',  // 字号
    'fontName',  // 字体
    'italic',  // 斜体
    'underline',  // 下划线
    'strikeThrough',  // 删除线
    'foreColor',  // 文字颜色//
    'backColor',  // 背景颜色
    'link',  // 插入链接
    'justify',  // 对齐方式
    'emoticon',  // 表情
    'image',  // 插入图片
    'table',  // 表格
    'undo',  // 撤销
    'redo'  // 重复
];
editor.customConfig.uploadImgShowBase64 = true;  // 使用 base64 保存图片
editor.customConfig.uploadImgServer = editUrl; // 上传图片到服务器
editor.customConfig.showLinkImg = false;// 隐藏“网络图片”tab
//配置属性名称，绑定请求的图片数据
//controller会用到，可以随便设置，但是一定要与controller一致
editor.customConfig.uploadFileName = 'imgHref';
editor.customConfig.withCredentials = true;
// 将图片大小限制为 5M
editor.customConfig.uploadImgMaxSize = 5 * 1024 * 1024;
editor.customConfig.uploadImgHooks = {
    before: function (xhr, editor, files) {
        // 图片上传之前触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，files 是选择的图片文件

        // 如果返回的结果是 {prevent: true, msg: 'xxxx'} 则表示用户放弃上传
        // return {
        //     prevent: true,
        //     msg: '放弃上传'
        // }
    },
    success: function (xhr, editor, result) {
        // 图片上传并返回结果，图片插入成功之后触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，result 是服务器端返回的结果
        console.log(result);
    },
    fail: function (xhr, editor, result) {
        // 图片上传并返回结果，但图片插入错误时触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，result 是服务器端返回的结果
    },
    error: function (xhr, editor) {
        // 图片上传出错时触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象
    },
    timeout: function (xhr, editor) {
        // 图片上传超时时触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象
    },

    // 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式，可使用该配置
    // （但是，服务器端返回的必须是一个 JSON 格式字符串！！！否则会报错）
    customInsert: function (insertImg, result, editor) {
        // 图片上传并返回结果，自定义插入图片的事件（而不是编辑器自动插入图片！！！）
        // insertImg 是插入图片的函数，editor 是编辑器对象，result 是服务器端返回的结果

        // 举例：假如上传图片成功后，服务器端返回的是 {url:'....'} 这种格式，即可这样插入图片：
        let url = result.img;
        console.log("url:",result.img);
       // console.log("aaaaaaaa:",url);
        insertImg(url)//回显到富文本里面
        // result 必须是一个 JSON 格式字符串！！！否则报错
    }
};

editor.create();




layui.use(['upload','form','layer'], function() {
    createSelect()
    var $ = layui.jquery
        , upload = layui.upload;
    let form = layui.form;
    let layer = layui.layer;

    let pic =$('#head_pic')

    /*if(pic.attr('src')=='#'){
        pic.hide()
    }
*/
    var uploadInst = upload.render({
        elem: '#test1'
        , url: '/upload' //改成您自己的上传接口
        , before: function (obj) {
            //预读本地文件示例，不支持ie8
            obj.preview(function (index, file, result) {


            });
        }
        , done: function (res) {
            let result = res.img
            console.log(res.img)
            $('#head_pic').attr('src', result); //图片链接（base64）
            if (res.code > 0) {
                return layer.msg('上传失败');
            }
            //上传成功
        }
        , error: function () {
            //演示失败状态，并实现重传
            var demoText = $('#demoText');
            demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
            demoText.find('.demo-reload').on('click', function () {
                uploadInst.upload();
            });
        }
    });
    form.on('submit(add)',function (data) {
        data = data.field;
        data.content = editor.txt.html();
        data.head_pic = $('#head_pic').attr('src')
        data.loginName=sessionStorage.getItem("loginName")
        $.ajax({
            url:'/back/news/add',
            data:data,
            dataType:'json',
            type:'post',
            success:function (data) {
                if(data.result=="notLogin"){
                    window.open("/html/login.html", "_top");
                }
                console.log(data);
                if (data.result == "success") {
                    //发异步，把数据提交给php
                    layer.alert("增加成功", {
                            icon: 6
                        },
                        function () {
                            //关闭当前frame
                            xadmin.close();

                            // 可以对父窗口进行刷新
                            xadmin.father_reload();
                        });
                } else {
                    layer.alert("增加失败", {
                        icon: 1
                    });
                }
            },
            error(data, textStatus, jqXHR){
            console.log("data:"+data)
                console.log("textStatus:"+textStatus)
                console.log("jqXHR:"+jqXHR)
            }

        });
        return false;
    })


})



function createSelect() {
    let select = $("#type")


    layui.use('form',function () {

        $.ajax({
            url:'/back/type/all',
            dataType:'json',
            type:'get',
            data:{loginName:sessionStorage.getItem("loginName")},
            success:function (res) {
                if(res.result=="notLogin"){
                    window.open("/html/login.html", "_top");
                }
                select.empty()
                let data =res.types;
                console.log(data)
                $.each(data,function (index, item) {

                    select.append(new Option(item.type,item.type))
                    console.log(select)
                })
                layui.form.render("select");
            }
        })
    })
}




